文章同步發表至 Medium
前幾篇介紹了如何使用 GDAL 進行 Shapefile 檔案的讀取和建立之後,下一個要介紹的套件是 NetTopologySuite
。
雖然我們前面順利的解決了 GDAL 對於中文亂碼的問題,但他在使用上還有一個限制:如果沒有註冊且沒有開啟 Shapefile,就無法針對 Geometry 型別進行相關的操作,例如:判斷交集、畫一個 Buffer 等。
然而,GIS 的處理是離不開這些功能的,所以最後我決定轉而只使用 NetTopologySuite
。接下來就讓我們一起看看怎麼使用吧。
如果你使用 NetTopologySuite
和 Shapefile
這兩個關鍵字去 google ,第一個應該會看到的是 NetTopologySuite.IO.ShapeFile
這個套件,但可以在 README 的地方看到團隊沒有要繼續更新了,建議轉而使用 NetTopologySuite.IO.Esri
。但經過搜尋之後,發現他還沒有被發佈到 Nuget 上,所以必須手動安裝。
安裝的方法很簡單,在 GitHub 頁面選擇下載成 zip 檔,或是 clone 下來之後,按照個人習慣將他編譯成 dll 檔案,接著在你原本的專案內新增這些 dll 檔案的參考即可。
我的話習慣用指令的方式進行:
dotnet publish -c Release
下圖為編譯後的全部內容。選取起來的三個 dll 中,最主要是第三個 NetTopologySuite.IO.Esri.Shapefile
,其他兩個也會使用到,可以從這裡加入參考,或是從 Nuget 中加入也行。
如果你是使用 Visual Stadio 可以看看官方文件是如何操作的;如果你和我一樣是使用 Rider,那麼就對著你的 project 右鍵,點選 Add
,就可以看到 Add Reference
的選項。點擊之後會打開一個視窗,在視窗最下面點選 Add From …
就能自行新增參考了。